package com.j2eefast.bussiness.contract.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>设备管理</p>
 *
 * @author: summer
 * @date: 2021-05-31 14:41
 * @web: http://www.letukeji.cn
 * @version: 1.0.1
 */
@Data
@TableName("bus_equipment")
@HeadRowHeight(20)
@ColumnWidth(15)		// 表头行宽
@HeadFontStyle(fontHeightInPoints = 12)
@ExcelIgnoreUnannotated
public class BusEquipmentEntity implements Serializable {

    @TableId(value = "id", type = IdType.AUTO)
    @ExcelIgnore
    protected Long id;

    //统计
    @TableField(value = "total")
    @ExcelIgnore
    protected Long total;
//    测量范围
    @TableField(value = "measuring_range")
    @ExcelProperty(value = "测量范围", index = 7)
//    @ExcelProperty(value = "测量范围", index = 0)
    protected String measuringRange;

    //设备编码
    @TableField(value = "equipment_code")
    @ExcelProperty(value = "设备编码", index = 0)
    protected String equipmentCode;


    //设备名称
    @TableField(value = "equipment_name")
    @ExcelProperty(value = "设备名称", index = 1)
    protected String equipmentName;
    //设备型号
    @TableField(value = "equipment_model")
    @ExcelProperty(value = "设备型号", index = 6)
    protected String equipmentModel;
    //国际编号
    @TableField(value = "standard_code")
    @ExcelProperty(value = "国际编号", index = 14)
    protected String standardCode;

    //详细配置
    @TableField(value = "configure")
    @ExcelProperty(value = "详细配置", index = 15)
    protected String configure;
    //计量单位
    @TableField(value = "metering_unit")
    @ExcelProperty(value = "计量单位", index = 5)
    protected String meteringUnit;
    //制造厂家
    @TableField(value = "manufacturer")
    @ExcelProperty(value = "制造厂家", index = 13)
    protected String manufacturer;
    //设备分类
    @TableField(value = "equipment_type")
    @ExcelProperty(value = "设备分类", index = 26)
    protected String equipmentType;
    //入账日期
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(value = "put_time")
    @ExcelProperty(value = "入账日期", index = 18)
    protected String putTime;
    //存放地点
    @TableField(value = "deposit_addr")
    @ExcelProperty(value = "存放地点", index = 11)
    protected String depositAddr;
    //购买日期
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(value = "purchase_time")
    @ExcelProperty(value = "购买日期", index = 16)
    protected String purchaseTime;
    //使用部门
    @TableField(value = "use_department")
    @ExcelProperty(value = "使用部门", index = 9)
    protected String useDepartment;
    //保管人员
    @TableField(value = "safekeeping")
    @ExcelProperty(value = "保管人员", index = 10)
    protected String safekeeping;
    //增加方式
    @TableField(value = "increase")
    @ExcelProperty(value = "增加方式", index = 19)
    protected String increase;

    //使用情况
    @TableField(value = "usages")
    @ExcelProperty(value = "使用情况", index = 8)
    protected String usages;
    //出厂日期
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(value = "production_time")
    @ExcelProperty(value = "出厂日期", index = 17)
    protected String productionTime;

    //设备原值
    @TableField(value = "equipment_value")
    @ExcelProperty(value = "设备原值", index = 12)
    protected String equipmentValue;

    //折旧方法
    @TableField(value = "depreciation")
    @ExcelProperty(value = "折旧方法", index = 20)
    protected String depreciation;
    //使用年限
    @TableField(value = "age")
    @ExcelProperty(value = "使用年限", index = 22)
    protected String age;
    //净残值率
    @TableField(value = "jingcan_value")
    @ExcelProperty(value = "净残值率", index = 21)
    protected String jingcanValue;
    //净值
    @TableField(value = "worth")
    @ExcelProperty(value = "净值", index = 24)
    protected String worth;
    //累计折旧
    @TableField(value = "accumulated_depreciation")
    @ExcelProperty(value = "累计折旧", index = 23)
    protected String accumulatedDepreciation;
    //二维码
    @TableField(value = "code")
    @ExcelIgnore
    protected String code;
    //条码宽度
    @TableField(value = "code_width")
    protected String codeWidth;
    //字符1
    @TableField(value = "character1")
    @ExcelIgnore
    protected String character1;
    //字符2
    @TableField(value = "character2")
    @ExcelIgnore
    protected String character2;
    //字符3
    @TableField(value = "character3")
    @ExcelIgnore
    protected String character3;
    //字符4
    @TableField(value = "character4")
    @ExcelIgnore
    protected String character4;
    //字符5
    @TableField(value = "character5")
    @ExcelIgnore
    protected String character5;
    //字符6
    @TableField(value = "character6")
    @ExcelIgnore
    protected String character6;
    //数值1
    @TableField(value = "value1")
    @ExcelIgnore
    protected String value1;
    //数值2
    @TableField(value = "value2")
    @ExcelIgnore
    protected String value2;
    //数值3
    @TableField(value = "value3")
    @ExcelIgnore
    protected String value3;
    //备注
    @TableField(value = "remark")
    protected String remark;
    //计量公司
    @TableField(value = "meterage_company")
    @ExcelProperty(value = "计量公司", index = 2)
    protected String meterageCompany;
    //计量公司编号
    @TableField(value = "company_code")
    @ExcelProperty(value = "计量公司编号", index = 3)
    protected String companyCode;
    //计量时间
    @TableField(value = "meterage_time")
    @ExcelProperty(value = "计量时间", index = 4)
    protected String meterageTime;


    //分类编号
    @TableField(value = "classify_code")
    @ExcelProperty(value = "分类编号", index = 25)
    protected String classifyCode;

    //创建日期
    @TableField(value = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ExcelProperty(value = "创建日期", index = 28)
    protected Date createTime;
    //更新日期
    @TableField(value = "update_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ExcelProperty(value = "更新日期", index = 29)
    protected Date updateTime;
    //创建人
    @TableField(value = "create_by")
    @ExcelProperty(value = "创建人", index = 30)
    protected String createBy;
    //更新人
    @TableField(value = "update_by")
    @ExcelProperty(value = "更新人", index = 31)
    protected String updateBy;


    @Override
    public String toString() {
        return super.toString();
    }
}
